package com.dd.cloud.user.mapper.product;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dd.cloud.user.entity.product.ProductBuyRecord;
import com.dd.cloud.user.req.product.ProductBuyRecordDoctorPageReq;
import com.dd.cloud.user.req.product.ProductBuyRecordSystemPageReq;
import com.dd.cloud.user.res.product.ProductBuyRecordBarragePageRes;
import com.dd.cloud.user.res.product.ProductBuyRecordDoctorPageRes;
import com.dd.cloud.user.res.product.ProductBuyRecordSystemDetailRes;
import com.dd.cloud.user.res.product.ProductBuyRecordSystemPageRes;
import org.apache.ibatis.annotations.Param;

/**
 * @author Lx
 * @version 1.0
 * @date 2024/1/23
 */
public interface ProductBuyRecordMapper extends BaseMapper<ProductBuyRecord> {
    /**
     * 查询收费服务产品购买记录
     *
     * @param iPage
     * @param req
     * @return
     */
    IPage<ProductBuyRecordSystemPageRes> queryProductBuyRecordSystemPage(IPage<?> iPage, @Param("req") ProductBuyRecordSystemPageReq req);

    /**
     * 查询收费服务产品购买记录详情
     *
     * @param id
     * @return
     */
    ProductBuyRecordSystemDetailRes queryProductBuyRecordSystemDetail(@Param("id") Integer id);

    /**
     * 查询服务产品购买记录弹幕
     *
     * @param iPage
     * @return
     */
    IPage<ProductBuyRecordBarragePageRes> queryProductBuyRecordBarragePage(IPage<?> iPage);

    /**
     * 医生查询收费服务产品购买记录
     *
     * @param iPage
     * @param req
     * @return
     */
    IPage<ProductBuyRecordDoctorPageRes> queryProductBuyRecordDoctorPage(IPage<?> iPage, @Param("req") ProductBuyRecordDoctorPageReq req);
}
